Verifying Finite-State Safety Properties on Millions of Lines of Code

نویسندگان

  • Suhabe Bugrara
  • Alex Aiken
چکیده

We present a context-sensitive, flow-sensitive, field-sensitive, and intraprocedurally path-sensitive static analysis capable of verifying finite-state safety properties of very large systems. Unusually for finitestate property verifiers, our system analyzes functions separately, and it is this feature that enables scalability. We evaluate an implementation of our analysis by trying to verify the absence of unchecked, untrusted pointer dereferences in the entire Linux operating system with over 6.2 million lines of code. Our system has a 1.8% false positive rate and fails to analyze 0.17% of all procedures.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Whale: An Interpolation-Based Algorithm for Inter-procedural Verification

In software verification, Craig interpolation has proven to be a powerful technique for computing and refining abstractions. In this paper, we propose an interpolation-based software verification algorithm for checking safety properties of (possibly recursive) sequential programs. Our algorithm, called Whale, produces inter-procedural proofs of safety by exploiting interpolation for guessing fu...

متن کامل

Some Complexity Results for Stateful Network Verification

In modern networks, forwarding of packets often depends on the history of previously transmitted traffic. Such networks contain stateful middleboxes, whose forwarding behavior depends on a mutable internal state. Firewalls and load balancers are typical examples of stateful middleboxes. This paper addresses the complexity of verifying safety properties, such as isolation, in networks with finit...

متن کامل

Verification of Liveness Properties in Transactional Memories

Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Saf...

متن کامل

On the Finite Groupoid G(n)

In this paper we study the existence of commuting regular elements, verifying the notion left (right) commuting regular elements and its properties in the groupoid G(n). Also we show that G(n) contains commuting regular subsemigroup and give a necessary and sufficient condition for the groupoid G(n) to be commuting regular.

متن کامل

Automatic Analysis of Consistency between Implementations and Requirements: A Case Study

Formal methods like model checking can be used to demonstrate that safety properties of event-based systems are enforced by the system's requirements. Unfortunately , proving these properties provides no guarantee that they will be preserved in an implementation of the system. This paper describes a tool, called An-alyzer, which discovers instances of inconsistency and incompleteness in impleme...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007